package com.celeritymq.server.servers;

import java.io.Serializable;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import javax.jms.Message;

import com.celeritymq.destination.CelerityTemporaryTopic;
import com.celeritymq.destination.CelerityTopic;

public interface TopicManager  extends Remote,Serializable{
	
	void addTopicMessage(CelerityTopic topic,Message message)throws RemoteException;
	
	void addTemporaryTopicMessage(CelerityTemporaryTopic topic,Message message)throws RemoteException;
	
	void sendToSubscriber(CelerityTopic topic,Message message)throws RemoteException;
	
	void sendToTemporarySubscriber(CelerityTemporaryTopic topic,Message message)throws RemoteException;
	
	void setMQServer(MQServer server);
}
